#ifndef VGLOBAL_H
#define VGLOBAL_H

#include "VInputListWidget.h"
#include <QString>
#include <QMap>
#include <QAction>
#include <QListWidget>
#include <QLabel>

namespace VGlobal {
    enum TipType
    {
        TIP_INPUT       = 0x01,
        TIP_PARAMETER   = 0x02,
        TIP_MOUSERHOVER = 0x04
    };

    enum TabType
    {
        SCINTILLA,
        NORMAL
    };

    struct Setting{
        QString skin_name;
        QString app_font_name;
        QString textedit_font_name;
        int textedit_font_size;
        bool symbol;
        int tab_width;
        QStringList code_format;
        int intelligence_delay;
        bool tool_bar_std;
        bool tool_bar_build;
        bool tool_bar_debug;
        bool tool_bar_textedit;
    };

    extern QString version;
    extern QString current_dir;
    extern QString sdcc_path;
    extern QString packihx_path;
    extern QString lua_path;
    extern QString lua_module_dir_path;
    extern QString compress_path;
    extern QString intent_path;
    extern QString temp_dir;
    extern QString log_path;
    extern QString log_dir;
    extern QString config_dir;
    extern QString config_path;
    extern QString skins_dir;
    extern QString current_skin_dir;
    extern QString ctags_path;
    extern QString historical_record_path;

    extern Setting setting;
    extern QMap<QString, QString> shortcut;
    extern QMap<QString, QString> keyword_cn_en;
    extern QMap<QString, QString> keyword_en_cn;
    extern QMap<QString , QString> icon_path;
    extern QMap<QString, QAction*> action;
    extern VInputListWidget *input_tip;
    extern QLabel *parameter_tip;
    extern QLabel *mouse_hover_tip;
}

#endif // VGLOBAL_H
